package com.stark.commons.spring.web.support.exception;

import org.springframework.http.ResponseEntity;

/**
 * 异常处理器接口。
 * <p>业务系统可实现该接口扩展全局异常处理。
 * @author Ben
 * @since 1.0.0
 * @version 1.0.0
 */
public interface ExceptionHandler {
	
	/**
	 * 当前异常处理器是否可以处理传入的异常。
	 * @param ex 异常对象。
	 * @return 可以处理异常返回 {@literal true} ，否则返回 {@literal false} 。
	 */
	boolean instanceofException(Exception ex);
	
	/**
	 * 处理异常并返回响应内容。
	 * @param ex 异常对象。
	 * @return 响应内容，包含状态码、异常信息。
	 */
	ResponseEntity<String> handle(Exception ex);

}
